package com.example.java.newFeature.lambda;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;

public class LambdaDemo {
    public static void main(String[] args) {
        // 使用Lambda表达式创建一个新的线程
        Thread thread = new Thread(() -> System.out.println("Hello from Lambda Thread!"));
        thread.start();


        List<String> list = new ArrayList<>();
        list.add("Banana");
        list.add("Apple");
        list.add("Orange");

        // 使用Lambda表达式对列表进行排序
        list.sort(String::compareTo);
        System.out.println(list); // 输出: [Apple, Banana, Orange]


        List<String> list1 = Arrays.asList("Apple", "Banana", "Orange");
        // 使用Lambda表达式遍历列表
        list1.forEach(System.out::println);


        // 使用Lambda表达式作为方法参数
        printMessage("Hello, World!", System.out::println);
    }

    // 使用Lambda表达式作为参数传递给方法
    public static void printMessage(String message, Consumer<String> consumer) {
        consumer.accept(message);
    }
}
